package com.ruoyi.system.service;

import java.util.List;

import com.ruoyi.common.core.domain.TreeSelect;
//import com.ruoyi.common.core.domain.entity.FamTree;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.system.domain.FamMember;
import com.ruoyi.system.domain.FamTree;

/**
 * 家谱图Service接口
 * 
 * @author wk
 * @date 2022-05-22
 */
public interface IFamTreeService 
{
    /**
     * 查询家谱图
     * 
     * @param memberId 家谱图主键
     * @return 家谱图
     */
    public FamTree selectFamTreeByMemberId(Long memberId);

    /**
     * 查询家谱图列表
     * 
     * @param famTree 家谱图
     * @return 家谱图集合
     */
    public List<FamTree> selectFamTreeList(FamTree famTree);

    /**
     * 新增家谱图
     * 
     * @param famTree 家谱图
     * @return 结果
     */
    public int insertFamTree(FamTree famTree);

    /**
     * 修改家谱图
     * 
     * @param famTree 家谱图
     * @return 结果
     */
    public int updateFamTree(FamTree famTree);

    /**
     * 批量删除家谱图
     * 
     * @param memberIds 需要删除的家谱图主键集合
     * @return 结果
     */
    public int deleteFamTreeByMemberIds(Long[] memberIds);

    /**
     * 删除家谱图信息
     * 
     * @param memberId 家谱图主键
     * @return 结果
     */
    public int deleteFamTreeByMemberId(Long memberId);
    /**
     * 构建前端所需要树结构
     *
     * @param members 成员列表
     * @return 树结构列表
     */
    public List<FamMember> buildMemberTree(List<FamMember> members);
    /**
     * 构建前端所需要下拉树结构
     *
     * @param members 成员列表
     * @return 下拉树结构列表
     */
//    public List<TreeSelect> buildMemberTreeSelect(List<FamMember> members);

}
